<template>
    <template v-for="(item, index) in props.menuData" :key="item.meta.id">
        <el-menu-item
            @click="handleClick(item,`${props.index}-${item.meta.id}`)"
            v-if="!item.children || item.children.length === 0"
            :index="`${props.index}-${item.meta.id}`"
        >
            <el-icon size="20">
                <component :is="item.meta.icon"></component>
            </el-icon>
            <span>{{ item.meta.name }}</span>
        </el-menu-item>

        <el-sub-menu v-else :index="`${props.index}-${item.meta.id}`">
            <template #title>
                <el-icon size="20">
                    <component :is="item.meta.icon"></component>
                </el-icon>
                <span>{{ item.meta.name }}</span>
            </template>
            <tree-menu
                :index="`${props.index}-${item.meta.id}`"
                :menuData="item.children"
            />
        </el-sub-menu>
    </template>
</template>

<script setup>
import { useRouter } from 'vue-router';
const router = useRouter()
import {useStore} from 'vuex'
const store = useStore()
const props = defineProps(['menuData', 'index']);

//点击菜单
const handleClick = (item,active)=>{
    store.commit('addMenu',item.meta)
    console.log(props)
    store.commit('updateMenuActive',active)
    router.push(item.meta.path)
}

</script>

<style lang="less" scoped>
.el-sub-menu {
    .el-menu-item-group {
        color: white;
        background-color: #545c63;
    }
}
</style>
